/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itsc.dswII.bl;

import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.itsc.dswII.dao.EmpresaDaoLocal;
import mx.itsc.dswII.ennumeracionl.EstadoTransaccion;
import mx.itsc.dswII.model.Empresa;

/**
 *
 * @author Lenovo-user
 */
@Stateless
public class EmpresaBl implements EmpresaBlLocal {
    @EJB
    private EmpresaDaoLocal empresaDao;

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")
@Override
    public EstadoTransaccion register(Empresa empresa) {
    System.out.println("Entro a register");
         if (empresaDao.findDuplicity(empresa)) {
            //no se pudo hacer
            return EstadoTransaccion.INCOMPLETO;
        } else {
             
            empresaDao.create(empresa);
             System.out.println("esta registrando");
             return EstadoTransaccion.COMPLETO;

        }
    }
 @Override
    public EstadoTransaccion modify(Empresa empresa) {
        if (empresa.getId() == null || empresaDao.find(empresa.getId()) == null) {
            return EstadoTransaccion.INCOMPLETO;
        } else {
            empresaDao.edit(empresa);
            return EstadoTransaccion.COMPLETO;
        }

    }

    @Override
    public EstadoTransaccion remove(Empresa empresa) {

        if (empresaDao.find(empresa.getId()) == null || empresa.getId() == null) {

            return EstadoTransaccion.INCOMPLETO;
        } else {
            empresaDao.remove(empresa);
            return EstadoTransaccion.COMPLETO;
        }

    }
    
    @Override
    public List<Empresa> getAll() {
        return empresaDao.findAll();
    }

    @Override
    public List<Empresa> getListByNombreEmp(Empresa empresa) {
        List<Empresa> empresaList = empresaDao.findByEmpresa(empresa);
        List<Empresa> finalEmpresaList = new ArrayList<Empresa>();
        
        for (Empresa emp : empresaList) {
            finalEmpresaList.add(emp);
        }
        return finalEmpresaList;
    }

    @Override
    public Empresa getEmpresaById(int empresaId) {
        return empresaDao.find(empresaId);
    }
    
}
